How to do "git commit --amend" using GitHub For Mac - git-commit

Is the "commit --amend" feature not included in GitHub For Mac?

Looking at the release notes, that feature doesn't seem to be available (idem for GitHub for Windows).
You could add that to the list of issues for GitHub for Mac (ofr recording) and using the contact form (for action).
Jonas mentions in the comments that there is a pending request for that feature:
Issue 30: "git commit --amend" feature in github for mac

Related

Is source indexing for Git builds possible in TFS 2013?

According to this post from January, source indexing was "not supported in TFS Builds running against Git source control". Have any of the updates made this possible yet?
[disclosure - I work on the new build system]
git source indexing is available in the new 2015 build (note this is a completely new modern build system). It's in RC now and shipping soon.
More information available here:
http://aka.ms/vsopreview
specifically: https://msdn.microsoft.com/Library/vs/alm/Build/vs/define-build
Note that if you create a VS definition from the template in the new build system, git source indexing step is there by default.
It will embed a command line for 'tf git view' in the pdb. That command line is available in VS 2015 tf command line.
The task script is open sourced here: https://github.com/Microsoft/vso-agent-tasks/blob/master/Tasks/PublishSymbols/PublishSymbols.ps1
If anyone else comes here looking for a way to index source in a VSTS backed git repo, I modified a powershell script made for github to work with VSTS. The github link to the script in the accepted answer is dead and and pipelines didn't fit my use case. If you just want a script that runs independently of ADO, this might help.
https://github.com/ruckonator/Git-Source-Indexer/blob/master/git-sourceindexer.ps1

Using Git-tf for iOS project

I want to use TFS as a version control for developing one of our iPad applications. I followed this article for configuring my Xcode project.
After doing all the steps mentioned in the blog i am able to checkin and checkout the whole project. But I am not able to push changed files back to TFS server. More over I am getting following error on executing git push command
fatal:
https://username#mydomain:8080/tfsprod/info/refs?service=git-receive-pack
not found: did you run git update-server-info on the server?
Any Help would be much appreciated.
Just moving the comments into an answer.
You can't use git push. You need to use either git tf checkin or git tf checkin --deep (if you want a check in per git commit).
Reference documentation for git tf checkin is here

Rails: Rubymine: GitHub

I can't seem to figure out how to commit my files to GitHub.
I am using RubyMine 4.5 on the MAC
I have git set up locally
I have a private account on GitHub
From the RubyMine Preferences, I have my GitHub credentials properly set up (and acknowledged as such by RubyMine), but it did not give me an option to select a repository on GitHub.
How do I commit file to the GitHub repository? There are too many CVS and Git menu items in RubyMine.
PS: I've read the online help sections (the only thing available to me), and I followed the instructions in the GitHub integration, but the directory I'm trying to commit is failing to push to GitHub, with RubyMine telling me that there was nothing to commit. This is the first time I use RubyMine for GitHub. Nothing about this on StackOverflow.
Okay, I think I've recreated your situation locally and it appears that RubyMine has terrible support for managing remotes. If you create a Git repository locally, then (separately) create a repository on GitHub, there's no obvious way to marry the two from within RubyMine.
Basically, you need to set up GitHub as a remote for your local repository from the shell, and once that's done then RubyMine will be able to push as normal.
Please note that the below instructions assume you want to overwrite your GitHub repository with the full history from your local repository -- If your GitHub repository has data that you do not want to lose, do not execute these commands! See Below.
Open up Terminal:
cd /path/to/my/project/root
git remote add origin https://github.com/yourusername/yourrepo.git
git push -u origin +master
Now, RubyMine should be able to push to your GitHub repository via VCS > Git > Push
If your GitHub repository has already been committed to and you don't want to lose those changes, you'll need to either create a new GitHub repo or clone your GitHub repo into another folder and merge your local repository into the clone.
This can be avoided entirely if you're trying to push your existing local repository to a new GitHub repo: Simply use the VCS > Import into Version Control > Share project on GitHub option and use the dialog to create a new GitHub repository.

How do I tag my git repository using the GitHub Mac application?

I pretty new to GitHub and personally did not have time to learn too much command line. I prefer using the GitHub Mac app for my personal projects and I was curios if I can add tags with it.
Basically I just want to tag my projects v0.1 and so on. I'm not even sure this is the best way to do it.
From VonC's answer to the same question asked on SuperUser:
Both in their announcement and in the help section, this (tag) doesn't seem to be available (at the time of the writing of this answer).
That means GitHub for Mac doesn't manage yet the tags namespace (refs/tags), and that you need to tag manually, and then git push --tags to GitHub also manually.
Though that was a year ago, there's still nothing to indicate that tags are supported. There's still no mention in the help section, subsequent blog posts about it don't mention tags, nor do the release notes (though they only cover relatively recent versions).
Unfortunately, Github Client for Mac still doesn't handle tags.
Neither to create them or nor to retrieve them
The Github website on its side propose not only to retrieve tagged commits, but also show them as releases and propose automaticly generated zip and tar.gz bundles of the related source code.
see:
https://help.github.com/articles/working-with-tags
https://help.github.com/articles/about-releases
https://github.com/blog/1547-release-your-software
https://help.github.com/articles/creating-releases
The good news is that tag are pulled to you local repository when doing a "sync" or a "pull" from Github Client for Mac
As #blahdiblah said, you'll have to go through command lines to manage tags locally
The "official" documentation regarding tag manipulations in command line is there:
http://git-scm.com/book/en/Git-Basics-Tagging
Usage is very simple:
git tag list tags
git tag -a v1.4 -m 'my version 1.4' create a tag with a description
git show v1.4 show informations about a tag
git push origin --tags push last commits and the tags
To create a tag manually via the command line:
open Terminal and navigate to your repository (either via cd or just drag in the folder from Finder)
use the following commands:
git remote (displays the name of your remote, for example YourRemote)
git tag -a v1.2 -m 'tagging Version 1.2' (creates tag v1.2 from current branch)
git push YourRemote v1.2 (pushes the tag you've created to YourRemote)
http://pinkstone.co.uk/how-to-tag-a-release-in-git/

Whats the best way to work with Github and multiple computers?

I am developing some school grading software and decided to use Github to host the project. After building some code on my Ubuntu box I pushed it to Github and then cloned it down to my MacBook Pro. After editing the code on the MBP I pushed it back to Github. The next morning I tried to update my repo on the Ubuntu box with a git pull and it gave me all kinds of trouble.
Whats the best way to work in this situation? I don't want to fork my own repo and I don't really want to send myself emails or pull requests. Why can't I just treat Github like a master and push/pull from it onto all of my personal repos on different computers?
I'll assume your problem was that the machine on which you first created the repo crapped out when you tried to issue the git pull command.
When you clone an existing git repository (like you did on your 2nd machine, the MacBook Pro), you're automatically set up to so your git pull commands will automatically merge the remote with your local changes.
However, when you initially create a repo and then share it on a remote repository, you have to issue a few commands to make things as automated as a on cloned repo.
# GitHub gives you that instruction, you've already done that
# git remote add origin git#github.com:user_name/repo_name.git
# GitHub doesn't specify the following instructions
git config branch.master.remote origin
git config branch.master.merge refs/heads/master
These last few instructions configure git so future git pull's from this repo will merge all remote changes automatically.
The following is a bit of shameless self-promotion. If you use Ruby, I have created a Ruby-based tool that lets you deal with all these kinds of things with git remote branches. The tool is called, unsurprisingly, git_remote_branch :-)
If you don't use Ruby, my tool is probably gonna be too much of a hassle to install. What you can do is look at an old post on my blog, where most of the stuff grb can do for you was explicitly shown. Whip out your git notes file :-)
You can also add multiple SSH public keys.

Resources