I did use FileZilla for years until I started using Git/SSH in my workflow.
At this point, I think it’s WAY easier to not use FTP. If you use SSH public/private keys, along with some shortcuts or “aliases” in your terminal configuration file… it becomes a breeze to push and pull files from your computer to Github or whatever you use, then to your remote server.
I don’t ever use a login because my keys are stored on both Github and my remote server. I also don’t type the full string to log into these services. I simply type “github” or “archVPS” to log into each.
It’s way easier than FTP.
And seriously, there is no reason to spend money. So many solutions are free.
If you don’t want to use the Terminal/CLI, there are plenty of open source file managers that are basically drag and drop auto FTP solutions.
I would love to see that workflow setup from scratch! I spent hours trying to get git to work within Cygwin and forget it without direct help. (thus the use of FTP software and SourceTree) So you push from a local folder (WAMP/MAMP) to the proper git repo and then to your live server from that git?
@BenRacicot let me break it down for you.
First of all, I use LAMP stack with Nginx handling all things static. There’s numerous tutorials on how to set this up but I highly recommend it because Nginx is awesome (not better than Apache, just different). Anyway, that’s a side note.
Now, full disclosure: I have NEVER attempted to use a GUI Git client. If that’s what you’re using, that might be the problem. I personally LOVE using a CLI, as it’s way more powerful and I can do a lot more faster. Again, I haven’t used one but in my mind, a GUI Git client seems just marginally different than FTP. I could be wrong.
Anyway, at the simplest level, what I do is:
git init(Obviously you must have Git installed)
git add .
git commit -m "Commit message here"
git push. *Note, there is a one time command you need to run to let Git know WHERE you’re pushing this stuff.
git pull. Again, there is a one time command you need to run to let Git know where you’re pulling from.
Keep in mind, this is a VERY simple workflow. You can become an absolute Git ninja with some REALLY exotic techniques. I am by no means an expert but I’ve definitely read some documentation. You can find that here.
Also, keep in mind that you don’t actually need to use Github or Gitorious or Gitlab or BitBucket or any of that. You could just use Git to push to your remote server. HOWEVER… I think it’s really nice to have an issue tracker and inline diffs to show you what you changed. In my opinion, inline diffs are better on Github than within Sublime Text 2.
Most of what I just told you can be seen in this video that @thedoc gave me:
Don’t be afraid of the command line/terminal. It’s awesome. I use it sun up to sun down every damn day. I wouldn’t dream of using anything else. I live and die by the green on black. Why? Because it’s easy as hell.
If you make shortcuts or aliases for common commands that are complex… it doesn’t get any easier. I do all this in Linux and all I have to do is edit my .bashrc config file. I’m sure Mac has something similar. There might be a way to do this on Windows PowerShell but I’d have no idea how.
Oh… and as far as SSH goes, use public/private keys. I would recommend ECDSA encryption, as opposed to RSA or DSA. Apparently they are the fastest and most secure. I’m by no means a cryptologist but I try to stay informed. RSA will ABSOLUTELY do if you can’t use ECDSA for some reason. Just use the 4096 bit encryption.
Once you do that, add your public key to Github. When you connect to Github for the first time… VERIFY that the RSA key fingerprint matches. You can do that here. If you fail to do this, you could be connecting to a malicious machine trying to perform a “man in the middle” attack. SSH or not… every transmission will be compromised from that point forward. As long as that’s all good, type yes to connect.
When you set up SSH keys, you’ll have to also use a passphrase. This is LIKE a password but the difference is… you never send it over the network, making it more secure, AND you can use an ssh agent to remember it so you don’t have to type it again.
What I’m saying is… if you take some time to set this up, your workflow can be password free and easy.
Sorry for that info dump.
You must be logged in to reply to this topic.